c++ - VC++ 2010 : Show open dialog hangs
全部标签 我在VisualStudio2010中有一个非托管C++项目。它使用了boost、glut和供应商提供的另一个库。我已经设置了项目来创建一个更“独立于dll”的可执行文件。所有boost库都是静态链接的,可执行文件所在目录不需要dll。对于Glut也是一样,我链接了静态glut32.lib而不是glut32.dll,同样没问题。我为运行时库选择了NON-dll版本,即多线程调试(用于调试配置)和多线程用于发布配置。现在,我之前提到的供应商提供了两个备选方案Vendor.lib和Vendor.dll。Vendor.lib添加在Linker->Additionaldependencies中
我是C++编程的新手,我需要在我的VS2010项目中使用Thread类。我找到了这个reference,但是当我尝试以下操作时:#includeVS2010显然告诉我“错误:无法打开源文件“线程””。我知道我需要以某种方式“激活”c++11标准。我什至不知道从哪里开始。那么在visualstudio2010中使用()c++11标准应该怎么做呢? 最佳答案 std::thread显然不是在VS2010中。我认为它是用VS2012添加的,thisquestionandanswer也支持它。.您使用2010而不是支持C++11的更多部分的
我致力于优化算法,因此性能非常重要。与VS2008相比,该算法在VS2010中编译时大约快8倍。谷歌搜索表明这不是我的错(参见例如https://stackoverflow.com/a/5560184/890355)。问题是最终工程必须在VS2008下搭建。我倾向于的解决方案是在VS2010中将我的算法构建为DLL,然后将其链接到主项目。是否可以在VS2008下将VC++2010运行时库与我的DLL一起使用?如果是这样,最不痛苦的方法是什么?还有其他想法吗?谢谢。 最佳答案 运行时不是问题。没有什么能阻止您将DLL链接到VC2010
我需要修改VS2010附带的C运行时,因为2010CRT依赖于WindowsXPSP2中发布的功能,我需要能够部署到Windows2000。具体来说,我需要删除对EncodePointer和DecodePointer的所有调用。C运行时的源代码包含在C:\ProgramFiles(x86)\MicrosoftVisualStudio10.0\VC\crt\src中,因此看起来应该可以在稍微修改源代码后构建运行时。哦,我不需要能够构建运行时的动态版本——只需要静态版本。(我也不能指望用户在他们的系统上安装CRT)。对于VS2008及更早版本,MSDN中有一个教程描述了如何构建CRT,但我
我有一个在VS2008下编译的相当大的C++程序(~11mbexe),我很想知道整个程序优化是否会显着影响其性能。但是开启全程序优化和链接时间代码生成导致链接失败如下;1>c:\cpp\Win32\Atlas\tin\TINDoc.Cpp:fatalerrorC1083:Cannotopencompilerintermediatefile:'.\releaseopt\TINDoc.obj':Notenoughspace1>LINK:fatalerrorLNK1257:codegenerationfailed查看任务管理器,我可以看到链接器使用越来越多的内存,直到用完并崩溃。编译器在具有
我正在尝试将Octave与VisualC++结合使用。我已经下载octave-3.6.1-vs2010-setup-1.exe.创建一个新项目,添加Octaveinclude文件夹以包含路径,octinterp.lib和octave.lib到lib路径,我添加Octavebin文件夹作为运行目录。除了导致异常的feval函数,程序编译和运行正常:MicrosoftC++exception:octave_execution_exceptionatmemorylocation0x0012faef在Octave方面:Invalidresizingoperationorambiguousass
stringfoo(){return"hello";}intmain(){//belowshouldbeillegalforbindinganon-const(lvalue)referencetoarvaluestring&tem=foo();//belowshouldbethecorrectoneasonlyconstreferencecanbebindtorvalue(mostimportantconst)conststring&constTem=foo();}GCC是给出编译错误的好工具:std::string&类型的非常量引用从std类型的临时值初始化无效::字符串VS2008
我想编写一个程序来链接已经用VC++创建的二进制文件。在Eclipse中为VC++添加工具链的步骤是什么?有人试过成功吗?如果是这样,调试器是否仍然有效? 最佳答案 VC++有一个工具链实现。构建插件名为org.eclipse.cdt.msw.build,还有一组名为org.eclipse.cdt.msw.debug.*的调试器插件。我认为构建集成有效,但调试器集成在可用之前仍需要一些工作。CDT团队的DougSchaefer拥有blogged关于这个好几次了,一直运行Wascana为此项目进行了一段时间。不幸的是,he'snolo
我打开了一个旧工作区,它是一个库及其测试工具。它过去工作正常,但现在不行,旧版本的代码也不能工作,但会出现相同的错误。我试过重新创建项目,这也导致了同样的错误。项目设置中似乎没有任何问题,生成的代码在主应用程序中工作。我已经删除了大部分文件并将其减少到最低限度以生成错误。不幸的是,我无法发布该项目,因为它用于生产代码。我遇到的LNK2001链接器错误通常意味着我离开了一个库或忘记实现一个虚函数。然而,这是标准模板库的一部分-并且是一个header。在IOCompletionPort.obj中被列为有问题的代码实际上并没有直接使用std::string,而是调用了一个类:Comms::E
有人知道可以使用VS2010代码的分析器和泄漏检测器吗?最好是在Win7上运行的。我在这里和谷歌搜索过。我发现了一种可以工作的检漏仪(内存验证器),但我并不太满意。一方面,它显示了一堆菜单泄漏和我相当有信心不是真实的东西。我也试过GlowCode但它只是一个分析器并且拒绝在win7上安装。我以前用过AQtime。它拥有我需要的一切,内存/资源泄漏检测、分析各种事物、静态分析等。不幸的是,它现在给出了虚假结果。我的主要直接问题是VS2010说程序中存在漏洞,而VS2005中没有。我几乎可以肯定这是误报,但我似乎找不到一个好的工具来验证这一点。MemoryValidator不显示相同的内容